使用UrlRewrite对JavaWeb的URL进行重写

6,498次阅读
12 条评论

共计 1132 个字符,预计需要花费 3 分钟才能阅读完成。

前言

在网上我们都见过很多类似于这样的页面:是动态的页面但是页面显示类型是静态的(比如本站),也就是后缀是.html 或者.htm 类型的,这种做法叫做伪静态,在 JavaWeb(JSP)中实现此方法很简单,只需要一个包搞定,下面就来说说具体步骤。

正文

首先我们要下载 urlwrite.jar 包(本文下方有提供下载),接着导入到项目的 lib 目录,然后在项目的 web.xml 里面添加 URL 重写的过滤器。

<filter>
         <filter-name>UrlRewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
        <init-param>
            <param-name>confPath</param-name>
            <param-value>/WEB-INF/urlrewrite.xml</param-value>
        </init-param>
</filter>
<filter-mapping>
         <filter-name>UrlRewriteFilter</filter-name>
         <url-pattern>/*</url-pattern>
         <dispatcher>REQUEST</dispatcher>
</filter-mapping>

然后我们在 web.xml 同级目录下创建一个urlrewrite.xml,在其中写入重写规则:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
        "http://tuckey.org/res/dtds/urlrewrite2.6.dtd">
    <urlrewrite>
    <rule>
        <from>/web/(.*)/(.*).html</from>
        <to>/WEB-INF/web/test.jsp?web=$1&amp;id=$2</to>
    </rule>
</urlrewrite>
在上方的重写规则中,当我们访问 /web/cat/1.html 的时候,实际上是请求的是 /WEB-INF/web/test.jsp?web=cat&id=1,特别注意,在请求的参数中 & 不能直接这样写,要用 &map; 进行代替,否则不能带多个参数进行请求的

下载

 文件名称:urlrewrite-4.0.0.jar
 文件大小:469KB
 下载声明:本站部分资源来自于网络收集,若侵犯了你的隐私或版权,请及时联系我们删除有关信息。
下载地址:http://pan.baidu.com/s/1pLzx3yb 密码:u22f

正文完
使用官方微信小程序体验更多功能
post-qrcode
 3
憧憬Licoy
版权声明:本站原创文章,由 憧憬Licoy 于2016-12-24发表,共计1132字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(12 条评论)
redbomb 评论达人 LV.1
2016-12-31 19:53:57 回复

:oops: 终于等到你这篇文章了…..新年快乐 :grin: :grin:

 Linux  Firefox  中国四川省绵阳市电信
唯历史 评论达人 LV.1
2016-12-29 22:48:21 回复

我会写asp.net的

 Windows  Firefox  中国北京北京市联通
凯哥自媒体 评论达人 LV.1
2016-12-27 15:39:44 回复

马上元旦了,没准备干点儿啥呢

 Windows  Chrome  中国河南省郑州市电信
明月登楼的博客 评论达人 LV.2
2016-12-25 14:17:47 回复

不错,过来点个赞支持一下先!

 Windows  Chrome  中国河南省南阳市电信
xema 评论达人 LV.3
2016-12-24 21:20:09 回复

Merry Christmas! :grin: 圣诞快乐

 Windows  Chrome  中国广东省揭阳市电信
虎子 评论达人 LV.1
2016-12-24 20:42:41 回复

昨天使用301 .htaccess重定向 这个必须

 Windows  Chrome  中国湖北省黄石市电信